1. Field of the Invention
The present invention relates to a digital copier or multiple-function image processing device. The invention is more particularly related to the manipulation of images which are scanned, stored, or printed. The invention is still further related to the rotation of images, the logical combination of two or more images, and the formation of an image by repeatedly using a section of an image, all being implemented using smaller blocks of the image.
2. Discussion of the Background
Digital copiers are image processing devices which scan an image, store a digital representation of the image in memory, and print the digital representation of the image. In order to print the digitized images at a rate similar to rates produced by conventional analog copiers which never store a digital representation of the image but use optical components such as mirrors and lenses to generate an image on a photoconductive drum or belt, a very large amount of data must be moved at a high rate of speed. The requirement to quickly move such a large amount of data has pushed the capabilities of current data processing and storage devices to their limits.
Digital copiers may have a need to manipulate image data which has been scanned, is stored, or to be printed. A conventional manner of accomplishing this function is to load the image into memory which is to be processed, and then to process this image. However, the inventors of this application have noticed that time may be wasted by waiting for the entire image to be loaded into memory. Further, the image processing functions may be the weakness of the digital copier which restricts the number of copies which the digital copier can produce over a given time period.
Accordingly, it is an object of the invention to provide a system with increased speed of image manipulation.
It is another object to the invention to provide a digital copier and method which manipulates images by processing smaller blocks of the image.
It is a further object to the invention to provide a digital copier and image processing method and system which begins the process of manipulating the image without the need for the entire image to be stored in a buffer.
It is still another object to the invention to provide a digital copier and method of operating a digital copier which performs at least one of an image rotation, performing a logical function such as ANDing or ORing, and generating an image by repeatedly using all or part of another image.
These and other objects are accomplished by a digital copier and method which operates on a block basis. In order to achieve an efficient transfer of the images, the block size is preferably the size of a direct memory access buffer, or an integral multiple or can be evenly divided into the size of the DMA buffer.
The image manipulation performed by the invention includes rotating of the image. Such a rotation is performed by rotating the smaller blocks of the image and then writing the blocks to an appropriate position in memory which corresponds to a rotated position of the image. As an alternative to, or in addition to the image rotation, it may be necessary to flip the image. This is required when the main-scan direction of a scanner is opposite to or 180xc2x0 out of phase with the desired main-scan direction. In this case, the image data within the blocks, and the blocks themselves are flipped or rotated 180xc2x0 about an axis parallel to a sub-scan direction of the scanned image.
Another image processing function which may be performed by the present invention is logically combining two or more images. The images are logically combined, for example by ANDing or ORing the images. Other logical operations such as an exclusive OR operation may be performed, if desired.
Another type of image processing which may be performed is an image repetition function. This allows the construction of an image by repeatedly using all or part of another image. The image repetition is also performed utilizing smaller blocks and repeatedly generating smaller blocks of the original image or section which is to be repeated. The image repetition function may be utilized as a paper saving operation and when an image is half of a normal page size or smaller, the image may be repeated two or more times on a single page, thus reducing the number of sheets of paper which are utilized. The image generated using the repeated portion or the entire image may be generated by writing a first row of blocks of the selected section into a memory until the first end of the image to be formed is reached. Thereafter, subsequent rows of the section which have been selected are written into memory until the end of the image is reached. When the image to be formed requires further rows of image data, the image is constructed by beginning again with the first row of blocks and subsequently using the remaining row of blocks of the selected section of the image to be repeated until the final image is constructed.
By performing the various image processing functions on a block basis, the processing speed is increased and there is no need to wait for the entire scanning of an image or the filling of a memory with the entire image. When the image generated during the image processing is to be printed, the blocks are generated across a row of the main-scan direction of the printer which allows the printer to begin printing as soon as the first row of image data is generated.